/**
 *   Copyright (c) fanguangping. All rights reserved.
 *   The use and distribution terms for this software are covered by the
 *   Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
 *   which can be found in the file epl-v10.html at the root of this distribution.
 *   By using this software in any fashion, you are agreeing to be bound by
 * 	 the terms of this license.
 *   You must not remove this notice, or any other, from this software.
 **/
package org.jfunny.core.sys;

import org.jfunny.core.meta.Namespace;

/**
 * 系统函数解释器
 * 
 * @author fanguangping
 *
 */
public interface ISysEvaluator {

	public static final String SYS_TPLSPACE = "sys-tplspace";
	public static final String SYS_NAMESPACE = "sys-namespace";
	public static final String SYS_NS_MAPPING = "sys-ns-mapping";
	public static final String SYS_TEMPLATE = "sys-template";
	public static final String SYS_FUNCTION = "sys-function";
	public static final String SYS_LAMBDA = "sys-lambda";

	public static final String DELIMITER = "######";

	public Namespace getNamespace(String statement);

	public void prepare(String statement);

	public String eval(String statement);

}
